package com.wyhello.tube4.dao;

import java.util.List;

import com.wyhello.tube4.pojo.Reality;

public interface RealityRecordsDAO {
	//实际测量
	/**
	 * 实际测量信息的录入
	 * @param reality 要录入的信息
	 * @return 返回是否录入成功
	 */
	public boolean saveReality(Reality reality);
	/**
	 * 对实际测量的信息进行批量删除
	 * @param ids 要删除的id
	 * @return 返回删除的条数
	 */
	public int deleteReality(String ids);
	/**
	 * 查询所有的实际测量信息
	 * @return 返回所有实际测量的信息
	 */
	public List<Reality> queryReality(int offset);
	public List<Reality> queryRealTime(int offset,String begin,String end);
	/**
	 * 根据id查询实际测量信息
	 * @param id 要查询的id
	 * @return 为ID的实际测量信息
	 */
	public Reality  getRealityById(int id);
	/**
	 * 对实际信息进行修改
	 * @param reality 修改后的信息
	 * @return 修改是否成功
	 */
	public boolean updateReality(Reality reality);
	/**
	 * 查询指定位置下实测记录的最大ID值
	 * @param positionId 
	 * @return 
	 */
	public int queryRealityMaxId(int positionId);
	/**
	 * 查询实测记录数量
	 * @return
	 */
	public int queryCountReality();
	public int queryCountReaTime(String begin, String end);
	/**
	 * 根据时间段查询所有的测量信息
	 * @param begin 开始时间	
	 * @param end 结束时间
	 * @return 测量数据
	 */
	public List<Reality> queryRealityTime(int positionId,String begin,String end, String type);
	/**
	 * 查询需要报警的记录
	 * @return
	 */
	public List<Reality> queryRealityWarn();
	/**
	 * 查询field在positionIds里所有测量记录中的最大值的测量数据ID
	 * @param field 字段
	 * @param positionIds 位置id
	 * @return
	 */
	public String queryRealityMaxByPosIds(String field,String positionIds,String bagId);
	/**
	 * 查询field在positionIds里所有测量记录中的最小值的测量数据ID
	 * @param field
	 * @param positionIds
	 * @return
	 */
	public String queryRealityMinByPosIds(String field,String positionIds,String bagId);
	/**
	 * 查询field在positionIds里所有测量记录中的平均值的测量数据ID
	 * @param field
	 * @param positionIds
	 * @return
	 */
	public String queryRealityAvgByPosIds(String field,String positionIds,String bagId);
	List getAnyliseRow(String field, String begin, String end, int rowId);
	List getAnyliseSurface(String field, String begin, String end, int surfaceId);
	List getAnyliseBoiler(String field, String begin, String end, int boilerId);
	List getRealityPieRow(String realField, String warnField, int rowId);
	List getRealityPieSurface(String realField, String warnField, int surfaceId);
	List getRealityPieBoiler(String realField, String warnField, int boilerId);
}
